This invention relates generally to digital processing and more specifically to resource allocation in an encryption/decryption processing system.
In mass distribution systems (such as in the cable industry), a supplier (such as a cable company) typically supplies different services (e.g., cable programs, subtitles, foreign language audio tracks, an internet connection, audio programs, pay-per-view channels, a programming guide, etc.) to different customers. The services provided to each individual customer will consequently vary according to the requirements of that individual customer. Furthermore, the necessary level of security (e.g., the level of decryption necessary to decrypt a supplied service datastream) required for each customer will vary depending on the services ordered by each customer.
While the services ordered by each customer may vary, it is cost effective to have all customers utilize the same equipment at the receiving end of the distribution system, e.g., the set-top boxes used in cable customers' homes should be the same. This allows mass production of the receiving equipment and facilitates distribution and stocking of equipment and replacement parts.
Thus, there are competing needs. There is the desire to allow an individual customer to select and optimize the program content received. Similarly, there is the desire to have all customers use similar equipment.
Existing systems have been unable to satisfy these needs. They have typically defaulted to supplying the same type of equipment to all customers and configuring that equipment to provide decryption of a signal that has been encrypted at the highest level of encryption encountered by all customers' requirements. This is undesirable from the individual customer standpoint, because those customers who order services with low level security are still required to use a receiver that is configured to provide decryption of a service having a high level of security. Thus, due to memory constraints inherent in most devices, the configuration of that receiver is unnecessarily limited. For example, when a higher level of encryption is utilized, a receiver must devote more memory to storing keys and data to decrypt the signal. Thus, fewer services can be decrypted when at least one of those services has a high level of encryption.
Others have also defaulted to supplying different equipment to different customers. Thus, customers with high level of decryption needs can utilize equipment having a high level of decryption but receive fewer services. Similarly, customers who have a setup in which only low level encrypted services will be received are given equipment that decrypts at the low level decryption scheme. Thus, such a customer can receive more services encrypted at this low level of encryption as compared to the customer who receives high level encrypted signals when each customer's equipment utilizes a similar amount of memory.
Similarly, there is a need at the sending end of a transmission for a system that permits a datastream to be encrypted at different levels of security. Namely, there is a need for an encryption system that is configurable such that it can encrypt a datastream at a variety of levels of encryption. This will allow the encryption system to provide several services encrypted at a low level of encryption while also providing a high level of encryption when only a few services are transmitted to a customer. Similarly, there is a need for this circuitry to be reconfigurable such that the same circuitry or integrated circuit can be utilized to accomplish both types of encryption.